import {
  wxMiniLogin
} from '@/api/user/index'

export default {
  data () {
    return {
      loginConfig: {
        code: '',
        iv: '',
        encryptedData: ''
      },
    }
  },
  methods: {
    // 获取用户登录凭证
    fetchWxMiniLoginCode () {
      uni.login({
        success: res => {
          this.loginConfig.code = res.code || ''

          console.log('this.loginConfig :>> ', { ...this.loginConfig });
        },
        fail: err => {
          uni.showToast({
            title: '请检查网络是否接通！'
          })
        }
      })

      this.fetchUserInfo()
    },
    // 获取用户基础信息
    fetchUserInfo () {
      uni.getUserProfile({
        desc: '用于获取用户基础信息',
        success: res => {
          this.loginConfig.iv = res.iv
          this.loginConfig.encryptedData = res.encryptedData

          console.log('this.loginConfig :>> ', this.loginConfig);

          // 存储用户信息
          // let userInfo = Object.assign(res.userInfo)
          // this.$store.dispatch('setUserInfo', userInfo)
          // uni.setStorageSync('userInfo', JSON.stringify(userInfo))

          // this.showPhonePanel()

          // this.handleWxMiniLogin()
        },
        fail: err => {
          uni.showModal({
            title: '提示',
            content: '请重新进行授权登录',
            showCancel: false
          })
        }
      })
    },
    handleWxMiniLogin () {
      wxMiniLogin.request(this.loginConfig).then(res => {
        console.log('res :>> ', res);

        // 保存需要的用户信息
        const userInfo = {
          id: res.id,
          avatar: res.avatar,
          gender: res.gender,
          nickname: res.nickname,
          isAuthenticate: res.is_authenticate
        };
      }).catch(err => {
        console.log('err :>> ', {
          ...err
        });
      })
    }
  }
}